use std::collections::HashMap;

fn main() {
    let mut store = HashMap::new(); // 类型未知

    store.insert("abc", 0);
    store.insert("def", 1);
    println!("{:?}", store);

    // 覆盖
    store.insert("abc", 2);
    store.insert("def", 3);
    println!("{:?}", store);
    // 不存在插入,存在不处理
    store.entry("abc").or_insert(100);
    store.entry("qwe").or_insert(100);
    println!("{:?}", store);

    // 所有权转移到 map 里了
    let s = "fgh".to_string();
    let mut store_string = HashMap::new();
    store_string.insert(s, 0);
    println!("{:?}", store_string);
    // println!("{:?}", s); // value borrowed here after move
}
